約 4,195,208 件
https://w.atwiki.jp/tarl/pages/27.html
カージナルスプライン(仮) V1.4 Download(右クリック、対象をファイルに保存) 直線の連続性を判定し、スプライン曲線に変換します。 範囲選択可能。 .NET Framework2.0が必要です。 開発はSharpDevelop2.0で行っております。 係数 MSDN GDI+でのカーディナルスプラインの説明 ここにテンション値の説明があります。これが係数です。 既定値は0.75です。 精度 曲線とそれを平坦化した近似線との間で許容される最大の誤差を指定します。 既定値は 0.25 です。平坦化の値を小さくすると、近似線の線分の数が増加します。 ※精度を細かく設定しても元の節点に完全な接合はできません。 注意 v1.4では大幅変更を行いました。以前Verとはほとんど別物です。 Windowsの機能、GDI+のGraphicPathを利用しました。 今後、以前のモードも搭載したく考えており、ページタイトル はそのままにさせて下さい。 変更履歴 v1.4 GDI+のGraphicPathを利用するようにした。 線色、線種、線幅、レイヤーを記憶するようにした。 v1.3 係数をユーザー設定できるようにした。(説明がなくてゴメン) 閉合スプラインを調整した。(微妙に不具合有り) 元図形を削除するモードを付けた。 v1.2 分割数が70位多くなるのを修正した。(バッチのみ修正) スターさんありがとうございます。 v1.1 曲線属性以外の線がダブってるバグを修正。 曲線属性以外をスプライン化するモードを追加。 端部係数の調整。 このフリーソフトのアンケートにご協力してもらえたらありがたいです。タール 選択肢 投票 気に入った (22) イマイチ (1) 全然ダメ (4) 選択肢 投票 分割数指定にして欲しい (3) いろんな曲線に対応してほしい (3) 節点に完全接合してほしい (2) 勝手にどうぞ (1) -
https://w.atwiki.jp/jcdp/pages/14.html
F カーブエディタ まだタイムラインおよびキーエディタについての説明を読んでいなければ、それらを先に読んでください。 F カーブエディタは、アニメーションをよりよいものに調整していくときにとても強力なツールになります。F カーブエディタを開くには、ツールバー内のタイムラインアイコン(ストップウォッチのアイコン)をクリックします。これでタイムラインが開きます。デフォルトではキーエディタ が開きますがタイムラインの下部の角にある小さな鍵のアイコンをクリックすると表示が F カーブエディタに変わります。 既にアニメーションを記録してあれば、選択中のオブジェクト、タグ、マテリアルの F カーブを見ることができます。まだキーを記録していなければビューには何も現れません。 F カーブエディタコントロール 上のスクリーンショットにある 4 カ所の重要な部分について説明していきます。 1. キーが記録されているパラメータを表示します。選択されているパラメータの F カーブだけが F カーブビューに表示されます。パラメータをクリックするだけで、その選択/非選択が変わります。 2. 実際のキーを表示します。 3. キーの左接線です。この接線はスプライン補完を使っているときにだけ表示されます。 4. キーの右接線です。この接線はスプライン補完を使っているときにだけ表示されます。 補完タイプ Cheetah3D では、補完タイプとしては以下の現在4種類を利用できます。各補完タイプによって、各キー間のプロパティを推移をどのように計算していくのかが変わってきます。 直線補完:一番基本的な補完タイプです。各パラメータは直線的に(同じ速度のまま)変化していきます。これが Cheetah3D のデフォルトの補完タイプです。 スムーズ補完:スムーズ補完タイプは、キーを通過するときにスムーズになるようなカーブを作ろうとします。 スプライン補完:スプライン補完は最も強力な補完方法です。2 つのキー間の補完を自由にベジェ曲線を使って決定できるからです。補完方法としてスプライン補完を使う場合、F カーブエディタにはベジェ曲線の接線も表示されます。接線を操作するのはマウスでドラッグするだけです。 フラット補完:フラット補完は、アニメーションでイースイン、イースアウトさせたいときに特に便利です。カーブ開始時と終了時でのパラメータのスピードが 0 になっているからです。 補完タイプの設定 キーの補完方法を変更するには、まずキーを選びます。キーを選択すると赤くハイライトされます。次に適切はメニューコマンドを呼び出します。選択したキーの左右の補完タイプを変更するときは「Animation メニュー - Tangent- 補完タイプ」から補完タイプを選択します。選択したキーの左の補完タイプだけを変更するときは「Animation メニュー - In Tangent- 補完タイプ」から、選択したキーの右の補完タイプだけを変更するときは「Animation メニュー - Out Tangent- 補完タイプ」から、それぞれ補完タイプを選択します。
https://w.atwiki.jp/abwiki/pages/660.html
VB(Microsoft Visual Basic) Microsoft社が開発したBASIC言語でWindows環境での動作に適した拡張を行った BASIC処理系。 歴史 Microsoft社が開発した初期のMicrosoftBASICを拡張し、構造化構文と構造体など 変数型の改良、インタプリタ+コンパイラの対応を経てQuickBASICが開発された。 この時点で言語処理系として他の処理系と比べて引けを取らない拡張が行われ 旧式のMicrosoftBASICと比べて先進的な機能が実装された。 QBasicはコマンドCUIで行番号編集のエディタからフルスクリーンエディタ を含む統合開発環境とデバッカを新たに備えたインタプリタで コンパイラ機能を取り除いた簡易的なQuickBASICと呼べるもので、 英語版MSDOSやWindows95CDROMなどとともに配布された。 Visual Basic 構造化構文を持つQuickBASICをWindows環境に対応させたものがVisual Basic製品。 VBは開発環境としてWindows3.1の頃から販売されておりWindowsの開発と共にVisual Basicも ほぼ同時リリースされ、簡易的なWindows向けソフトウエア開発環境としてアマチュアから業務システムまで 幅広いユーザー層に支えられた。 QuickBASICからの変更点は、NeXTワークステーションに搭載されていた インターフェースビルダに触発されたGUIアプリケーションを作成するために追加 されたGUIデザイナ機能やイベント処理の仕組みで手続き型プログラミングとは 違ったコーディングが行われる。 当時Win32APIを使ったC/C++の開発と比べてVisual Basicはソフトウエア開発を 著しく簡易化した。 Visual Basicは言語レベルでのオブジェクト指向の対応は行われていないが、 GUIコンポーネントやActiveXコンポーネントがオブジェクト指向的な設計の実装であり 事実上オブジェクト指向といえるものであった。 その他Visual Basic処理系 Visual Basicはまたマクロ言語としても進化しワード、エクセルなどに代表される オフィス製品に組み込まれるマクロ言語VBA(Visual Basic for Application)としても採用された。 VBAは基本的構文はVisual Basicに準拠し、インタプリタ機能をオフィス製品の 様々な機能をマクロ制御するために追加的なコンポーネントが実装された。 Basic言語を習得しておればオフィスソストの自動処理などが簡単に記述できることが メリットである。 Visual BasicはWindows標準で搭載されたブラウザ(IE)のスクリプトとして 動的Webページを記述する際にJavaScriptの代わりとしても利用可能である。 Windows標準でOS機能の一部として搭載されているスクリプト言語もまたVisual Basicである。 バッチファイル、PowerShellと並び、OS管理システム記述に使われる スクリプト言語としてWindowsScriptHost(WSH)と呼ばれ、DOSプロンプトなどで "cscript hoge.vbs" と記述するだけでバッチファイルだけでは実現できない スクリプトインタプリタ自動化処理をタスク管理と組み合わせBASICで記述する事を可能にする。 WindowsServerなどで威力を発揮する。
https://w.atwiki.jp/test_0th/pages/19.html
RS232通信 VB6 電子工作室 VB4 VBアプリ実例集 (RS232C通信) なお、上記実行ファイルの実行にはVB4のランタイムライブラリ(vb40032.dll, vb4jp.dll)が必要です。 Visual Basic 4.0 ランタイム 最小パック 1.4 DBGRID32.OCX を読み込めません。-- プロジェクトのロードを続けますか? DBGRID32のインストール | Hibi日記
https://w.atwiki.jp/0x0b/pages/80.html
BASIC(beginner's all-purpose symbolic instruction code) VB(Visual Basic) VBA(Visual Basic for Applications) BASIC(beginner s all-purpose symbolic instruction code) 手続き型言語 (「初心者向け汎用記号命令コード」を意味する)の頭字語、または、基礎のFORTRAN言語を意味する「basic FORTRAN」ともいわれる。 FORTRANの文法が基になっており、初心者向けのコンピュータ言語として、1970年代以降のコンピュータ(特にパソコン)で広く使われた。パソコンがCUI環境からGUI環境となった現在でも、Microsoft Windowsアプリケーションの主力開発言語であるVisual Basicの文法に影を残している。 プログラム例と出力例 画面に次のように入力したとする 10 REM 5つ数える 20 FOR I = 1 TO 5 30 PRINT I 40 NEXT RUN RUN命令を入力すると、それ以前に入力されたプログラムが実行される。この場合の出力は次のとおり。 1 2 3 4 5 また、プログラムに編集を加えたい場合、続いて例えば次のように入力する。 10 REM 5つ数える(”3”だけ飛ばす) 25 IF I = 3 THEN GOTO 40 RUN このように入力すると、10で始まる行が書き換えられ、20行目と30行目の間に25行目が挿入される。この場合の出力は次のとおり。 1 2 4 5 VB(Visual Basic) BASIC言語を基に作られたマイクロソフトのスタンドアロン開発用プログラミング言語であり、RADに対応した統合開発環境の名称 開発元マイクロソフト 初版1.0 - 1991年(20年前) 最新版2010 SP1(2011年3月11日(5か月前)) 対応OSWindows XP SP3 Windows Vista SP2 Windows 7 Windows Server 2003 SP2 Windows Server 2008 SP2 プラットフォームx86, x64 (WOW64) 種別統合開発環境 ライセンスMicrosoft EULA(プロプライエタリ)※無償版有 公式サイトmsdn.microsoft.com/ja-jp/vbasic マイクロソフトのQuickBASICを拡張したもので、Microsoft Windows 用のアプリケーション開発、および Web用のアプリケーション開発、モバイル向けのアプリケーション開発などを行うことができる。Visual Basicを略してVB(ブイビー)と呼ぶことも多い。当初からWindows向けに開発されたため、同社製品との親和性は非常に高い。 フォーム上に、あらかじめ用意された各種のGUIパーツ(コントロール)を配置して、それらのプロパティが変更されたり、マウスでクリックされたりするなどイベントが発生した場合の処理を記述してゆくことで、プログラムを作成していくスタイルが特徴。グラフィックの描画など、GUIを実現するときに付随する定型的な画面管理はパーツの内部で行なわれるため、プログラマが直接記述する必要性が大幅に低減され、記述が煩雑になりがちなGUIを利用したプログラムを、簡単に作成することができる。 バージョン1.0ではWindows版の後にMS-DOS版が発売されており、キャラクタベースにもかかわらずコントロールを配置してGUIを構築することができた。ただしキャラクタベースであるため、フォームを使用した場合、グラフィックスの描画は不可能である。 言語仕様は、旧来のBASIC言語に比べ、構造化プログラミングの機能が加えられるなど大きく拡張されており、加えてオブジェクト指向に近い概念も取り入れられている。バージョン6.0以降のVisual Basicは高度な機能を持っており、高度な機能を提供するソリューションの開発も出来る。バージョン6.0以前ではオブジェクト指向の要素が十分には実装されておらず、特に継承にあたる機能が皆無だったが、バージョン7.0 (.NET 2002)以降では完全なクラスベースのオブジェクト指向の機能が実装されている。 バージョン5.0よりも前のバージョンではインタープリタ動作のみであったこともあり、実行速度ではCやC++で記述したネイティブプログラムに比べ10倍から20倍遅いと言われていた(実際には処理内容に応じて速度比較の結果は異なる)。バージョン5.0と6.0では、Win32 ネイティブコードへのコンパイルがサポートされ、速度面での大幅な改善が図られている。また、実行環境を.NET Frameworkに移したVB.NETでは、最終的にコンパイラが出力するコードはVisual C#等と同じ MSIL 中間コード (Javaのバイトコードに近い) であるため、他の.NET言語と比較して速度面でも遜色ないものとなっている。さらに、MSILは実行時に.NETのJITコンパイラにより最適化されたネイティブコードに変換されるため、Javaのバイトコードと比較して非常にオーバーヘッドが小さい。 DirectXに関してはDirectX7以降、Visual Basic上からでも利用が可能となっている。Visual Basic6.0ではVB用のCOMタイプ ライブラリを使用する事でDX7及び8を、VB7.0(.NET 2002)以降ではDX9を操作する為の.NETマネージ ライブラリ (Managed DirectX)が提供されている。なお、XNAのリリースに伴い、Managed DirectXの更新は終了しているが、Windows API Code Pack for Microsoft .NET Frameworkと呼ばれるWindows APIおよびDirectXを含むCOMコンポーネントの.NET用ラッパーライブラリを使用することで、VB.NETおよびVisual C#などの.NET言語からもDirect3D 10やDirect3D 11を使用することが可能となっている。 「BASIC」の由来から、プログラミング初心者用といわれることが多く、また当初のバージョンでは機能も限定的だったが、バージョンを重ねるごとに拡張され、現在ではさまざまなビジネスシーンで活用されている。習得が容易でハードルの低い開発言語であるがゆえに、非難や侮蔑の対象となることもあるが、その簡易性・生産性からハイレベルのプログラマにも根強いファンは多い。 種類 Visual Basicには、大きく分けて2種類ある。1つはバージョン1.0から6.0までの旧来版、もう1つはバージョン 7.0 (2002) 以降の.NET Framework対応版である。.NET Frameworkに対応したバージョン7.0以降はバージョン6.0以前と比較して大きな変更が施され、互換性もない。 旧来版のバージョン バージョンの履歴 製品名 バージョン 内部バージョン リリース 備考 Visual Basic 1.0 1.0 1.0 1991年 オブジェクト指向の基本的な部分を実装。日本では発売されなかった Visual Basic for MS-DOS1.0 1.0 1992年 Windows版との互換性は低いが、DOS版QuickBASICの後継バージョンとして使える。PC-98用の日本語版も発売されていた Visual Basic 2.0 2.0 2.0 1992年 OLE, ODBC対応。日本語版は1993年で当初はODBC対応はなし Visual Basic 3.0 3.0 3.0 1993年 日本では発売されなかった。 Visual Basic 4.0 4.0 4.0 1995年 32 ビット版と 16 ビット版がある。 Visual Basic 5.0 CCE 5.0 5.0 ActiveXコントロール作成専用。フリー。Visual Basic 5.0のプロトタイプ Visual Basic 5.0 5.0 5.0 1997年 Win32 ネイティブコードへのコンパイル機能をサポート Visual Basic 6.0 6.0 6.0 1998年 旧来型 Visual Basic (Win32 ネイティブ) の最後のバージョン Visual Basic 4.0 爆発的に普及が始まったWindows 95用のアプリケーション開発環境の一つとしてリリースされた。ボタンやコンボボックスのような標準コントロールに加え、サードパーティから発売されたコントロールをマウスを使ったGUI操作で配置することでアプリケーション画面を作成することができ、プログラム生産性が高いことが特徴だった。特に、サードパーティ製の高機能なコンポーネントが多く発売され、熟練開発者でなくとも操作性の高いアプリケーションが開発でき、当時のエンドユーザ・コンピューティングに大きな影響を与えた。 技術面で見ると、Visual C++などを用いてCOMのコントロール(OLEコントロール、OCX、後にActiveXコントロールと呼ばれる)を開発し、これらの部品群の組み立てをVisual Basicで行うことが容易にできた。特にExcelなどのアプリケーションをOLEを通じて制御することができるため、帳票を扱うような業務アプリケーション開発の分野で使われることも多かった。 また、Visual Basicで作成されたアプリケーションを実行するために、ランタイムをあらかじめインストールする必要があった。 Visual Basic 5.0 Win32 ネイティブコードへのコンパイル機能がサポートされるようになり、実行速度が大幅に向上した。 開発環境内でのインタープリタ実行も引き続きサポート。 Visual Basic 6.0 ActiveXに完全に対応し、ActiveXオブジェクトを使用することはもちろん作成することも可能。そのため、ActiveXコンポーネントとして公開されていたDAOやADO、oo4oなどを使用して、SQL ServerやOracleを制御することができ、多くのビジネスシーンで使用された。また、バージョン1.0からの経験も蓄積されていたためVisual Basic 6.0を扱えるプログラマ・情報量ともに豊富だった。 ただし、言語仕様が完全なオブジェクト指向言語ではなかったことや、複雑化するシステム環境に十分に対応できなかったり、開発容易性を確保するために機能的な制限があったため以下の不都合が指摘されてきた。 コンポーネントのバージョンの違いからトラブルが起きやすい(DLL地獄)。 基本的にマルチスレッド機能が無い(ActiveX EXEでのみ可能)。 他の言語との情報共有が乏しい。 アプリケーションのインストールが面倒である。 また、Webの普及とともにWebアプリケーションとしてシステムを構築する事案が増え、Java言語がウェブアプリケーションに柔軟に対応していたのに比較すると、Webアプリケーションの開発が面倒という指摘もあった。 これらの事から改良の手が加えられ、VB.NETが誕生した。しかし言語仕様の大幅な改訂のために、VB6とVB.NETとの互換性はほとんど無くなっている。 Visual Basic for Applications 7.0 Microsoft Officeでは、後述するVisual Basic for ApplicationsとしてVisual Basicによるマクロプログラミング環境が採用されている。Office 2007まではバージョン6系列のVisual Basicが採用されていたが、Office 2010では、バージョン番号を7.0としている。 主な変更点として、64ビット環境への対応が挙げられる。LongPtr(32ビット環境・64ビット環境双方でポインタと同じ大きさとなる整数型)、LongLong(64ビット整数型、ただし64ビット環境でのみ使用可能)などのデータ型やそれに伴う変換関数の追加などが行なわれている。 .NET版のバージョン バージョン 7.x に限り Visual Basic .NET と称しているが、それ以降も VB.NET の系列であることに違いはない。 バージョンの履歴 製品名 バージョン 内部バージョン リリース 備考 Visual Basic .NET 2002 7.0 2002年 言語仕様の大幅変更(完全なオブジェクト指向)。実行環境に .NET Framework 1.0 を採用 Visual Basic .NET 2003 2003 7.1 2003年 .NET Framework 1.1 に対応 Visual Basic 2005 2005 8.0 2005年 .NET Framework 2.0 に対応 Visual Basic 2008 2008 9.0 2007年 LINQやラムダ式の導入など言語機能を強化。.NET Framework 3.5 に対応 Visual Basic 2010 2010 10.0 2010年 2010年5月現在での最新版(5月現在ではExpressEditionのみ).NET Framework 4.0 に対応 Visual Basic .NET 2002 2002年には、このVisual Basicを基に強いオブジェクト指向プログラミングの概念を取り入れた新しい言語Visual Basic.NETが開発された。VB.NETはVB6の後継言語とされ、マイクロソフト社の.NET Frameworkという新しい技術基盤に対応している。対応する.NETのバージョンは.NET Framework 1.0。 VB.NETは新たにウェブサーバ用のプログラム、Web用のプログラムが開発出来るなどのネットワーク開発機能が追加された。VB6の後継といっても、豊富なデバッグ機能が追加されたり、中間コード形式になるといった言語設計思想そのものが変わるなど、様々な点で大幅な機能の追加および削除が行われた。 Visual Basic .NET 2003 対応する.NETのバージョンは.NET Framework 1.1。 Visual Basic 2005 製品名称からは「.NET」という名前がなくなったが、上記のVB.NETと連続性がある言語である。言語仕様が強化され、C# 2.0同様にジェネリックの要素が導入されたほか、パーシャルクラスや演算子のオーバーライドなどがサポートされた。また、開発環境も大きく強化されている。対応する.NETのバージョンは.NET Framework 2.0。(開発環境の拡張機能をインストールすることで、.NET Framework 3.0の利用も可能となっている) Visual Basic 2008 同時期にリリースされたC# 3.0に合わせて言語仕様が強化され、構造化照会構文であるLINQや、ラムダ式、匿名型などの要素が追加された。 対応する.NETのバージョンは.NET Framework 3.5。(3.5は3.0および2.0の完全なスーパーセットのため、3.0および2.0のアプリケーション開発も可能となっている) Visual Basic 2010 対応する.NETのバージョンは.NET Framework 4.0(3.5、3.0、2.0での開発も可能) 旧来型Visual Basicのサポート 旧来型Visual Basicの最終バージョンであるVisual Basic 6.0は、2004年3月29日にService Pack 6がリリースされたのち、2005年3月31日にメインストリームサポート期間を終え、2008年4月8日に延長サポートの期間を終えたしたがって現在は開発環境のサポートを打ち切られている。 しかしながら、後継のVB.NET以降との互換性がほとんどなく、他開発環境への移行も難しいことから、マイクロソフトはWindows VistaでのVisual Basic 6.0の開発環境の実行をサポートしているしたがって現在は開発環境のサポートを打ち切られている。 しかしながら、後継のVB.NET以降との互換性がほとんどなく、他開発環境への移行も難しいことから、マイクロソフトはWindows VistaでのVisual Basic 6.0の開発環境の実行をサポートしている アプリケーションの実行環境 Visual Basicで作成したアプリケーションは、それ単体だけでは実行することができない。 バージョン6.0以前については、アプリケーション作成に使用したVisual Basicのバージョンに対応するランタイムライブラリのインストールが必要である。バージョン 7.0 (2002) 以降で作成したアプリケーションを実行するには、Visual C#やVisual J#と同じ実行基盤である.NET Frameworkが別途必要となる。 いずれも、作成したアプリケーションのパッケージに同梱して配布することがマイクロソフトにより認められている。 Visual Basic 言語が採用されているその他の環境 VBA (Visual Basic for Applications) 個々のアプリケーション用のマクロ環境として実装されるVisual Basic。反復操作を自動化するだけでなく、Windowsのフォームやボタンなどのコントロールをドキュメント内に配置して、ドキュメント編集のためのGUIを構築することも可能となっている。言語仕様としては、本家のVisual Basicで.NET以降がリリースされたのちも、ドキュメントの互換性を保つ目的で、Visual Basic 6.0ベースのものが実装されている。ExcelやAccess、WordなどMicrosoft Officeの多くのアプリケーションで実装されているほか、独自に開発したアプリケーションにVBAを搭載することも可能で、サードパーティ製のアプリケーションにVBAが搭載される場合もある。本家Visual Basicとの大きな違いは、搭載アプリケーション内でしか実行できない点にある。 VBAでは、各アプリケーションをオブジェクトとして操作できるようになっており、Excelを例にとると、「ファイル全体」を表すBookクラス、「スプレッドシートのセル」を表すRangeクラスなどがVBAから操作できる。 VBScript (Visual Basic Scripting Edition) Visual Studio マクロ Microsoft Visual Studioでは、繰り返し発生する操作を自動化するために、Visual Basic言語によるIDEマクロ環境が用意されている。前述のVBAとは異なり、Visual Studioのバージョンに応じたVisual Basicが使用できるようになっており、Visual Studio .NET以降はVB.NETを使って.NET Frameworkを利用できるようになっている。なお、各マクロプロジェクトは、テキストファイルのソースコードではなく、.vsmacrosファイルにメタデータとしてバイナリ形式で保存されるようになっているが、各モジュールをVBのソースファイル (.vb)としてエクスポートあるいはインポートすることもできる。 VBA(Visual Basic for Applications) マイクロソフト社製のMicrosoft Officeシリーズに搭載されているプログラミング言語 パラダイムプログラミングパラダイム 登場時期1993 設計者マイクロソフト 開発者マイクロソフト 最新リリース7.0 (Office 2010) 型付け型システム 影響を受けた言語QuickBASIC Microsoft Visual Basic プラットフォームMicrosoft Windows Mac OS X ライセンスProprietary EULA VBA を使用することで、ExcelやAccess、Wordなどを使用した定型業務を自動化することができる。VBAを用いてユーザーが関数を作成することもできる(ユーザー定義関数という)。また、ユーザー独自のフォームを作成することができ、様々なプラグインを組み込むことでアプリケーションの機能をカスタマイズすることなども可能である。 Microsoft OfficeシリーズのアプリケーションにはVBA用の統合開発環境が付属しているため、知識があれば誰でも手軽にプログラミングが始められる(知識がない場合でも、マクロの自動記録の機能を使って定型業務の自動化を行うことができる)。基本的にはインタプリタ型の言語であるため、コンパイル(ビルド)の作業は不要である。 Microsoft Office専用という印象が強いが、実際にはマイクロソフト社からしかるべきライセンスを取得することで他のアプリケーションに組み込むことも可能である。実際、マイクロソフト社に買収される前のVisioにも搭載されていた。CADソフトのAutoCADやMicroStation V8等にも搭載されている。 1994年、マイクロソフトは Excel 5.0 とともに VBA をリリースした。それは従来までのマクロ言語の代替でしかなかった。 しかし、翌年にリリースした Office95や、1997年のOffice97において、Excel以外のアプリケーション、すなわちAccessやWordにもVBAを搭載していった。合わせてVBAの仕様拡張も行われ、VBAはOffice製品に共通したプログラミング言語として確立される。 VBAは、同社のVisual Basicから派生した言語であり、Visual Basicと同様、ActiveXを使用することで既存資源の流用も可能である。ただ、近年マイクロソフト社はActiveX/Component Object Modelから.NET Frameworkへの転換を進めており、Microsoft Office System 2003には従来版にあった「Developer Edition」(VBAカスタムアプリケーション開発用のパッケージ)が存在せず、替わりにVisual Studio Tools for the Microsoft Office Systemと呼ばれる製品が出荷されている。 コード例 以下は、Excelにおいて、「Alpha」という名前のワークシートを削除するVBAの例である。 Application.DisplayAlerts = False Worksheets("Alpha").Delete Application.DisplayAlerts = True また、Excelで以下のコードを実行すると、セルA1からI9の範囲に掛け算九九の表を作成することができる。 Dim i As Integer Dim j As Integer For i = 1 To 9 For j = 1 To 9 Cells(i, j).Value = i * j Next Next 条件によって4色以上に色を塗り分けるときも、VBAを利用する(3色以下のときは一般機能の「条件付き書式」を使用するのが望ましい)。以下のコードを実行するとセルB2からE15までの範囲内のセルを5以下→水色、6以上10以下→明るい緑、11以上15以下→黄色、16以上→赤と塗り分けることができる。 Dim myCell As Range For Each myCell In Range("B2 E15") Select Case myCell.Value Case Is = 5 myCell.Interior.Color = RGB(0, 255, 255) Case 6 To 10 myCell.Interior.Color = RGB(0, 255, 0) Case 11 To 15 myCell.Interior.Color = RGB(255, 255, 0) Case Is 15 myCell.Interior.Color = RGB(255, 0, 0) End Select Next 以下は、VBAと共にExcel毎プログラムを終了するVBAの例である。 Application.Quit ユーザー定義関数 VBAを用いて、ユーザーが新たに関数を作成することもできる。ユーザー定義関数を作成するにはFunctionプロシージャを用いる。以下はHERONという名でヘロンの公式を用いるユーザー定義関数のコードである。 定義したユーザー定義関数は通常のワークシート関数同様、数式の中で用いることで呼び出す。この例で言えば、=HERON(3,4,5)とセルに入力すると、数式を入力したセルに演算結果として6と出力される。 Function HERON(辺1 As Double, 辺2 As Double, 辺3 As Double) As Variant Dim s As Double s = (辺1 + 辺2 + 辺3) / 2 HERON = Sqr(s * (s - 辺1) * (s - 辺2) * (s - 辺3)) End Function VBAの問題 VBA で記述したプログラムは Excel などのファイルの一部として格納される。そのため、これらのファイルを開くと同時に VBA で記述した悪意のあるプログラム(マクロウイルス)が自動実行されるようになっていると、重要なファイルが削除されるなど、クライアントが大きなダメージを受けることがある。この危険性は、各アプリケーション上でのセキュリティ設定や、ウイルス対策ソフトの導入などによってほぼ回避することができる。
https://w.atwiki.jp/ce00582/pages/1009.html
VB DSGE VB DSGE 01 VB DSGE 03
https://w.atwiki.jp/yushiki/pages/98.html
(´・ω・`)やぁ。 迷い込んだのかね? 少しでも多くの人にこの楽しさを知って貰う為に作ったのだが(´・ω・`)。 ここはパソコンに詳しい人たちが、その原理を理解して自身のPCスキルアップを目標に作られたページなんだ。 自分なりに頑張ってわかりやすく説明してみるから、頑張ってついてきてくれ(´・ω・`)。 ここから先のページを見ることの出来る対象者は以下の通りだ(´・ω・`) PC歴1年以上(ゲームしかやって無い香具師は最低3年な) PCについての最低限の操作ができる (基本的なショートカットキー,コントロールパネルの設定,D D,ファイルの削除、上書き,ソフトウェアのインストールなど) PCについての応用的な知識がある (拡張子,プロトコル,安全なシャットダウン,インターネットポリシーやセキュリティ設定,ウイルスの対処法など) やる気 向上心 の強い香具師 そして今の時点で用意しなければならないのは以下の通りだ(´・ω・`) WindowsXP搭載のパソコンと基本的な周辺機器 (メモリは512メガは欲しい。XPのHomeかPro版かは問わないが、32bit版でやってくれ。64bit版は知らんぞ。) インターネット接続環境(ADSLでも光でもISDNでもネットに繋がってればいい。だが最低ADSLを勧める。) 沢山のやる気と根気 ここではXPと言ったが、多分ビスタでも同じ事が出来ると思う。 HDDは10GBくらい開けておけば安心だな。そんなには使わないが。 ここまでの説明で自分に向いて無いって思う人は左のメニューから戻ってくだされ。 興味が湧いてきたって?それなら下へ進んでもよろしい。 (´・ω・`)よぅ どうやら君は興味があるみたいだな! まずプログラミングってのがどんなのか知ってるかな? Public Class Form1 Dim now_date As Date Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load now_date = Now MsgBox(now_date, , "Now") Me.Close() End Sub End Class そう。プログラミング言語によっては違うが、Basic言語ってのはこんなもんだ。 ここではこのプログラムについては説明しないが、1日くらい勉強すればこのプログラムの意味が分かるはず。 さて、このプログラムで実際にキーボードで打たなければならないのは、 まず二行目の Dim now_date As Date という部分と、実際の動作をする now_date = Now MsgBox(now_date, , "Now") Me.Close() という部分だけなんだ。 他の部分は全部プログラミング支援ソフトウェアが全て自動で書いてくれるんだ。 どうだろう。簡単だとは思わないかな。 プログラミング言語「BASIC」 少し話す順番がずれてきたのだが、本題に入ろう。 まず、ここで説明するBasicについて。 Basicというのは、プログラミング言語の中でも比較的簡単な部類に入ると思う。 そのお陰で、最も広がったプログラミング言語の一つになった。 そして、このBasic言語の一つが「Visual Basic」と言われるものなんだ。 Basicがプログラミング言語で、VisualBasicはそのBasic言語の一つ・・・というと、少しややこしくなってしまうが、 Basicという言語の中で、何をプログラムするかによって、使えるコマンドが違う・・・ということで覚えてくれ。 その中でVisualBasicというのは、フリーウェアからシェアウェア、そしてオンラインゲームといった様々なプログラムが出来る、 Basicの中で、今一番ユーザが多いBasicプログラミング環境といえる。 といっても、ここは難しいのでそのままスルーしてもいい。こんな事はこのVisualBasicをマスターしてからまた考えることだ。 また、以下Visual Basicの事をVBと略す事が多いのでここで覚えてくれ。 Visual Basicをダウンロードしてみよう では、軽くVBについて触れたところで実際にVBをダウンロードしてもらおう。 因みに、有料版も有るが趣味として触れる程度なら無料の Express Edition で十分だ。 以下にリンクを張っておくから、ダウンロードして実行して、指示に従ってインストールまで済ませてくれ。 Microsoftのホームページよりダウンロード(直リンク) MicrosoftのVisualStudioホームページ おっと、プログラミングに諦めてもう使わないとなれば、プログラムの変更と削除からアンインストールしてくれ。 ただ、諦めるなと先に言っておく。プログラミングはこれからの社会で絶対に役に立つ。 軽く触るくらいでもIT社会においてはかなり今後使える技術になる。 自分で作ったプログラムがその通りに動けば、本当に嬉しいと思える。趣味の範囲でも良いじゃない。 知識と技術は一生の財産だよ! さて、次はいよいよVBを実際に動かして基礎に入るわけだが。 今日は暑いな。別の教室で次を教えるから、準備が出来た人から次の教室に来るように。 VBプログラミング2 09/09/07
https://w.atwiki.jp/galfred/pages/4.html
VB.netの情報ページです。
https://w.atwiki.jp/d-service/pages/12.html
******************************************* イベントログに出力する ******************************************* Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object,ByValeAsSystem.EventArgs) Handles MyBase.Load テスト用にイベントログエントリに付加するデータを適当に作る Dim mybyte() As Byte = New Byte() {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Dim eventid As Integer = 1 Dim category As Short = 1000 System.Diagnostics.EventLog.WriteEntry( Sample_OutputEventViewer , イベントログに書き込む文字列 ,EventLogEntryType.Information,_ eventid,category,mybyte) Imports System.Diagnostics が宣言されているものとする。 EventLogオブジェクトの作成 Dim elog As New EventLog() コンピュータ名を設定する elog.MachineName = . ログの名前を設定する elog.Log = MyLog ソース名を設定する elog.Source = MySource イベントログに書き込む elog.WriteEntry( イベントログに書き込む文字列 ) End Sub End Class ******************************************* Windowsサービスを作成する ******************************************* http //msdn2.microsoft.com/ja-jp/library/d56de412.aspx 注意:Windows XPSP2でサンプルを作成したところ、サービス起動ユーザをLocalServiceではダメだった。 (System.Security.SecurityExceptionが発生) AccountプロパティはLocalSystemで対応。 ******************************************* VB.NET Tips ******************************************* VB6でサポートされていた文字列固定長配列は VB.NETではサポートされていません。 もし使いたい場合はVBFixedStringAttributeを使用します。 試した限りでは構造体の中でしか使用できないようです。 普通の変数としては宣言できません。 ******************************************* レジストリから値を取得する ******************************************* Imports Microsoft.Win32 Module Module1 Class1 の概要の説明です。 Sub Main() 操作するレジストリ・キーの名前 Dim rKeyName As String = SOFTWARE\Microsoft\.NETFramework 取得処理を行う対象となるレジストリの値の名前 Dim rGetValueName As String = InstallRoot レジストリの取得 Try レジストリ・キーのパスを指定してレジストリを開く Dim rKey As RegistryKey = Registry.LocalMachine.OpenSubKey(rKeyName) レジストリの値を取得 Dim location As String = CStr(rKey.GetValue(rGetValueName)) 開いたレジストリを閉じる rKey.Close() コンソールに取得したレジストリの値を表示 Console.WriteLine(location) Catch ex As NullReferenceException レジストリ・キーまたは値が存在しない Console.WriteLine( レジストリ[ + rKeyName + ]の[ + rGetValueName + ]がありません! ) End Try End Sub End Module
https://w.atwiki.jp/rrcompany/pages/29.html
VB.NETリンク 第8回 Visual Basic .NETは遅いのか!? ―― 起動の遅さも事前にJITコンパイルで解決可能! ―― http //www.atmarkit.co.jp/fdotnet/vbcheer/vbcheer08/vbcheer08.html ソケット通信タイムアウト https //www.microsoft.com/japan/msdn/community/gdn/bbs-ShowPost-6858.htm pollメソッド http //msdn2.microsoft.com/ja-jp/library/system.net.sockets.socket.poll.aspx Imports System Class DefaultValueTest ジェネリック・メソッド Shared Function getDefaultValue(Of T)() As T Dim myVar As T = Nothing Return myVar End Function Shared Sub Main 参照型の場合 Dim s As String = getDefaultValue(Of String)() Console.WriteLine(s) 出力:(何もなし) 値型の場合 Dim i As Integer = getDefaultValue(Of Integer)() Console.WriteLine(i) 出力:0 構造体の場合 Dim dt As DateTime = getDefaultValue(Of DateTime)() Console.WriteLine(dt) 出力:0001/01/01 0 00 00 End Sub End Class Public Shared Sub Execute(Of TForm As Form)(ByVal frm As TForm) frm.Show() End Sub VB Imports System.IO Imports System.Reflection 次の場合は、完全なディレクトリと exe 名になります。 Dim fullAppName As String = [Assembly].GetExecutingAssembly().GetName().CodeBase 次の場合は、exe 名が除外されます。 Dim fullAppPath As String = Path.GetDirectoryName(fullAppName) 次の場合は、パスにファイル名が追加されます。 Dim splashImageName As String = Path.Combine(fullAppPath, "myfile.txt")